package Frame;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JLabel;

import Function.FCMapLibrary;

/**
 * 地图删除窗口。
 */
public class FCDeleteMap extends JDialog {

	/**
	 * 构造方法初始化
	 * 
	 * @param mapLib 地图库
	 */
	public FCDeleteMap(FCMapLibrary mapLib) {
		// 设置窗体坐标位置
		setBounds(0, 0, 205, 130);
		// 屏幕组件的格式布局
		setLayout(null);
		// 设置窗体相对于指定组件的位置
		setLocationRelativeTo(null);
		// 设置此窗体不可由用户调整大小
		setResizable(false);
		// 指定对话框为模式对话框，对话框销毁前不可进行其他操作
		setModal(true);
		// 设置窗体的标题
		setTitle("删除地图");

		// 提示语
		JLabel jLabel = new JLabel("删除地图的ID", JLabel.CENTER);
		jLabel.setBounds(10, 10, 180, 20);
		this.add(jLabel);

		// 下拉列表显示物品信息
		JComboBox<String> idList = new JComboBox<String>();
		idList.setBounds(10, 40, 180, 20);
		// 遍历添加元素
		for (int i = 0; i < mapLib.getMapNum(); i++) {
			idList.addItem(mapLib.getMapNameOfID(i));
		}
		this.add(idList);

		// 删除按钮
		JButton jButton = new JButton("删除");
		jButton.setBounds(10, 70, 180, 20);
		this.add(jButton);

		// 删除按钮的监听器
		jButton.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				if (mapLib.deleteMapIsOK(idList.getSelectedItem().toString())) {
					new FCTip("删除地图", "删除成功!");
				} else {
					new FCTip("删除地图", "删除失败!");
				}
				// 关闭窗体，并释放一部分资源
				dispose();
			}
		});

		// 设置窗体可见
		setVisible(true);
	}
}
